export default class Dep {
  /**
   * Dep{
   *   title: [cb1, cb2],
   * }
   */

  //给依赖收集更新视图的函数
  collect(key, cb) {
    //当dep对象里没有找到依赖时
    if (!this[key]) {
      //给当前依赖新增一个数组，数组元素是当前的回调函数
      this[key] = [cb];
    } else {
      //当dep对象里本身就有找到依赖时
      //给当前依赖容器里新增一项回调函数
      this[key].push(cb);
    }
  }

  //通知依赖将依赖相关的所有对视图更新的函数执行
  notify(key) {
    this[key].forEach((cb) => cb());
  }
}
